<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<title>7 affymetrix，R and bioconductor</title><style type='text/css'>html {overflow-x: initial !important;}#write, body { height: auto; }
#write, #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write ol, #write p, #write ul { position: relative; }
#write, #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
#write, pre { white-space: pre-wrap; }
.CodeMirror, .md-fences, table { text-align: left; }
.md-reset, a:active, a:hover { outline: 0px; }
.md-reset, .md-toc-item a { text-decoration: none; }
.MathJax_SVG, .md-reset { float: none; direction: ltr; }
:root { --bg-color:#ffffff; --text-color:#333333; }
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0px; padding: 0px; bottom: 0px; top: 0px; left: 0px; right: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; }
a.url { word-break: break-all; }
.in-text-selection, ::selection { background: rgb(181, 214, 252); text-shadow: none; }
#write { margin: 0px auto; word-break: normal; word-wrap: break-word; padding-bottom: 70px; overflow-x: visible; }
.first-line-indent #write p .md-line { text-indent: 0px; }
.first-line-indent #write li, .first-line-indent #write p, .first-line-indent #write p .md-line:first-child { text-indent: 2em; }
.for-image #write { padding-left: 8px; padding-right: 8px; }
body.typora-export { padding-left: 30px; padding-right: 30px; }
@media screen and (max-width: 500px) {
  body.typora-export { padding-left: 0px; padding-right: 0px; }
  .CodeMirror-sizer { margin-left: 0px !important; }
  .CodeMirror-gutters { display: none !important; }
}
#write > blockquote:first-child, #write > div:first-child, #write > ol:first-child, #write > p:first-child, #write > pre:first-child, #write > table:first-child, #write > ul:first-child { margin-top: 30px; }
#write li > table:first-child { margin-top: -20px; }
img { max-width: 100%; vertical-align: middle; }
button, input, select, textarea { color: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; }
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
*, ::after, ::before { box-sizing: border-box; }
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }
p { -webkit-margin-before: 1rem; -webkit-margin-after: 1rem; -webkit-margin-start: 0px; -webkit-margin-end: 0px; }
.mathjax-block { margin-top: 0px; margin-bottom: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; }
.hidden { display: none; }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
a { cursor: pointer; }
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; }
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
#write > figure:first-child { margin-top: 16px; }
figure { overflow-x: auto; margin: -8px 0px 0px -8px; max-width: calc(100% + 16px); padding: 8px; }
tr { break-inside: avoid; break-after: auto; }
thead { display: table-header-group; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; }
.CodeMirror-line, .md-fences { break-inside: avoid; }
table.md-table td { min-width: 80px; }
.CodeMirror-gutters { border-right: 0px; background-color: inherit; margin-right: 4px; }
.CodeMirror-placeholder { opacity: 0.3; }
.CodeMirror pre { padding: 0px 4px; }
.CodeMirror-lines { padding: 0px; }
div.hr:focus { cursor: none; }
.md-fences { font-size: 0.9rem; display: block; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
.md-fences .CodeMirror.CodeMirror-wrap { top: -1.6em; margin-bottom: -1.6em; }
.md-fences.mock-cm { white-space: pre-wrap; }
.show-fences-line-number .md-fences { padding-left: 0px; }
.show-fences-line-number .md-fences.mock-cm { padding-left: 40px; }
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
.footnotes + .footnotes { margin-top: 0px; }
.md-reset { margin: 0px; padding: 0px; border: 0px; vertical-align: top; background: 0px 0px; text-shadow: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; }
.md-toc-inner, a img, img a { cursor: pointer; }
li div { padding-top: 0px; }
blockquote { margin: 1rem 0px; }
li .mathjax-block, li p { margin: 0.5rem 0px; }
li { margin: 0px; position: relative; }
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child { margin-top: 0px; }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
@media print {
  body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; }
  #write { margin-top: 0px; border-color: transparent !important; }
  .typora-export * { -webkit-print-color-adjust: exact; }
  h1, h2, h3, h4, h5, h6 { break-after: avoid-page; orphans: 2; }
  p { orphans: 4; }
  html.blink-to-pdf { font-size: 13px; }
  .typora-export #write { padding-left: 1cm; padding-right: 1cm; padding-bottom: 0px; break-after: avoid; }
  .typora-export #write::after { height: 0px; }
  @page { margin: 20mm 0px; }
}
.footnote-line { white-space: pre-wrap; margin-top: 0.714em; font-size: 0.7em; }
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
p > img:only-child { display: block; margin: auto; }
.md-line > .md-image:only-child, p > .md-image:only-child { display: inline-block; width: 100%; text-align: center; }
.mathjax-block:not(:empty)::after, .md-toc-content::after, .md-toc::after { display: none; }
#write .MathJax_Display { margin: 0.8em 0px 0px; }
.mathjax-block { white-space: pre; overflow: hidden; width: 100%; }
p + .mathjax-block { margin-top: -1.143rem; }
[contenteditable="true"]:active, [contenteditable="true"]:focus { outline: 0px; box-shadow: none; }
.md-task-list-item { position: relative; list-style-type: none; }
.task-list-item.md-task-list-item { padding-left: 0px; }
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); }
.math { font-size: 1rem; }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
.MathJax_SVG, .mathjax-block .MathJax_SVG_Display { text-indent: 0px; max-width: none; max-height: none; min-height: 0px; }
.md-toc-content { position: relative; margin-left: 0px; }
.md-toc-item { display: block; color: rgb(65, 131, 196); }
.md-toc-inner:hover { }
.md-toc-inner { display: inline-block; }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
@media screen and (max-width: 48em) {
  .md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
  .md-toc-h4 .md-toc-inner { margin-left: 5em; }
  .md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
  .md-toc-h6 .md-toc-inner { margin-left: 8em; }
}
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
.footnote-line a:not(.reversefootnote) { color: inherit; }
.md-attr { display: none; }
.md-fn-count::after { content: "."; }
code, pre, tt { font-family: var(--monospace); }
.md-comment { color: rgb(162, 127, 3); opacity: 0.8; font-family: var(--monospace); }
code { text-align: left; }
a.md-print-anchor { border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
.md-inline-math .MathJax_SVG .noError { display: none !important; }
.mathjax-block .MathJax_SVG_Display { text-align: center; margin: 1em 0px; position: relative; min-width: 100%; width: auto; display: block !important; }
.MathJax_SVG_Display, .md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important; }
.MathJax_SVG .MJX-monospace { font-family: monospace; }
.MathJax_SVG .MJX-sans-serif { font-family: sans-serif; }
.MathJax_SVG { display: inline; font-style: normal; font-weight: 400; line-height: normal; zoom: 90%; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; min-width: 0px; border: 0px; padding: 0px; margin: 0px; }
.MathJax_SVG * { transition: none; }
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
.md-diagram-panel > svg, [lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; }
[lang="mermaid"] .node text { font-size: 1rem; }
table tr th { border-bottom: 0px; }


.CodeMirror, .CodeMirror-sizer { position: relative; }
.CodeMirror.cm-s-inner { background: inherit; }
.fences-no-line-wrapping .md-fences .CodeMirror { margin-top: -20px; }
.CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; }
.CodeMirror-lines { padding: 4px 0px; }
.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
.CodeMirror-scroll, .cm-s-inner .CodeMirror-activeline-background { background: inherit; }
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
.cm-s-inner .cm-property { color: rgb(0, 0, 0); }
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
.cm-s-inner .cm-meta, .cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
.cm-negative { color: rgb(221, 68, 68); }
.cm-positive { color: rgb(34, 153, 34); }
.cm-header, .cm-strong { font-weight: 700; }
.cm-del { text-decoration: line-through; }
.cm-em { font-style: italic; }
.cm-link { text-decoration: underline; }
.cm-error, .cm-invalidchar { color: red; }
.cm-constant { color: rgb(38, 139, 210); }
.cm-defined { color: rgb(181, 137, 0); }
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
.CodeMirror { height: auto; overflow: hidden; }
.CodeMirror-scroll { margin-bottom: -30px; padding-bottom: 30px; height: 100%; outline: 0px; position: relative; box-sizing: content-box; }
.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; }
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow-x: hidden; overflow-y: scroll; }
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow-y: hidden; overflow-x: scroll; }
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
.CodeMirror-lines { cursor: text; }
.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; word-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
.CodeMirror-wrap pre { word-wrap: break-word; white-space: pre-wrap; word-break: normal; }
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
.CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor { position: absolute; border-right: none; width: 0px; visibility: hidden; }
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
.CodeMirror-selected { background: rgb(217, 217, 217); }
.CodeMirror-focused .CodeMirror-selected { background: rgb(215, 212, 240); }
.cm-searching { background: rgba(255, 255, 0, 0.4); }
@media print {
  .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
}
.CodeMirror-lint-markers { width: 16px; }
.CodeMirror-lint-tooltip { background-color: infobackground; border: 1px solid rgb(0, 0, 0); border-radius: 4px; color: infotext; font-family: var(--monospace); overflow: hidden; padding: 2px 5px; position: fixed; white-space: pre-wrap; z-index: 10000; max-width: 600px; opacity: 0; transition: opacity 0.4s; font-size: 0.8em; }
.CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning { background-position: left bottom; background-repeat: repeat-x; }
.CodeMirror-lint-mark-error { background-image: url(""); }
.CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning { background-position: center center; background-repeat: no-repeat; cursor: pointer; display: inline-block; height: 16px; width: 16px; vertical-align: middle; position: relative; }
.CodeMirror-lint-message-error, .CodeMirror-lint-message-warning { padding-left: 18px; background-position: left top; background-repeat: no-repeat; }
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error { background-image: url(""); }
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning { background-image: url(""); }
.CodeMirror-lint-marker-multiple { background-image: url(""); background-repeat: no-repeat; background-position: right bottom; width: 100%; height: 100%; }


.output_wrapper { font-size: 16px; color: rgb(62, 62, 62); line-height: 1.6; word-spacing: 0px; letter-spacing: 0px; font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif; }
.output_wrapper * { font-size: inherit; color: inherit; line-height: inherit; margin: 0px; padding: 0px; }
p { margin: 1.5em 0px; }
h1, h2, h3, h4, h5, h6 { margin: 1.5em 0px; font-weight: bold; color: rgb(21, 153, 87); }
h1 { font-size: 1.6em; }
h2 { font-size: 1.4em; }
h3 { font-size: 1.3em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1em; }
h6 { font-size: 1em; }
ul, ol { padding-left: 32px; }
ul { list-style-type: disc; }
ol { list-style-type: decimal; }
li * { }
li { margin-bottom: 0.5em; }
.code_size_default { line-height: 18px; font-size: 14px; font-weight: normal; word-spacing: 0px; letter-spacing: 0px; }
.code_size_tight { line-height: 15px; font-size: 11px; font-weight: normal; word-spacing: -3px; letter-spacing: 0px; }
pre code { font-family: Consolas, Inconsolata, Courier, monospace; border-radius: 0px; }
blockquote { display: block; padding: 15px 15px 15px 1rem; font-size: 0.9em; margin: 1em 0px; color: rgb(129, 145, 152); border-left: 6px solid rgb(220, 230, 240); background: rgb(242, 247, 251); overflow: auto; word-wrap: normal; word-break: normal; }
blockquote p { margin: 0px; }
a { text-decoration: none; color: rgb(30, 107, 184); word-wrap: break-word; }
strong { font-weight: bold; }
em { font-style: italic; }
del { font-style: italic; }
strong em { font-weight: bold; }
hr { height: 1px; margin: 1.5rem 0px; border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top: 1px dashed rgb(165, 165, 165); }
code { word-wrap: break-word; padding: 2px 4px; border-radius: 4px; margin: 0px 2px; color: rgb(233, 105, 0); background: rgb(248, 248, 248); }
img { display: block; margin: 0px auto; max-width: 100%; }
figcaption { margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em; }
table { display: table; width: 100%; text-align: left; }
tbody { border: 0px; }
table tr { border-width: 1px 0px 0px; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; border-top-style: solid; border-top-color: rgb(204, 204, 204); background-color: white; }
table tr th, table tr td { font-size: 1em; border: 1px solid rgb(204, 204, 204); padding: 0.5em 1em; text-align: left; }
table tr th { font-weight: bold; background-color: rgb(240, 240, 240); }
.katex-display { font-size: 1.5em; }
a[href^="#"] sup { vertical-align: super; margin: 0px 2px; padding: 1px 3px; color: rgb(255, 255, 255); background: rgb(102, 102, 102); font-size: 0.7em; }
.task-list-list { list-style-type: none; }
.task-list-list.checked { color: rgb(62, 62, 62); }
.task-list-list.uncheck { color: rgb(191, 193, 191); }
.task-list-list .icon_uncheck, .task-list-list .icon_check { display: inline-block; vertical-align: middle; margin-right: 10px; }
.task-list-list .icon_check::before { content: "√"; border: 2px solid rgb(62, 62, 62); color: red; }
.task-list-list .icon_uncheck::before { content: "x"; border: 2px solid rgb(191, 193, 191); color: rgb(191, 193, 191); }
.task-list-list .icon_check::before, .task-list-list .icon_uncheck::before { padding: 2px 8px 2px 5px; border-radius: 5px; }
.toc { margin-left: 25px; }
.toc_item { display: block; }
.toc_left { margin-left: 25px; }
.cm-s-inner.CodeMirror { background: rgb(245, 245, 245); color: rgb(7, 54, 66); }
.cm-s-inner div.CodeMirror-selected { background: rgb(238, 232, 213) !important; }
.cm-s-inner .CodeMirror-gutters { background: rgb(245, 245, 245); border-right: 0px; }
.cm-s-inner .CodeMirror-linenumber { color: rgb(131, 148, 150); }
.cm-s-inner .CodeMirror-cursor { border-left: 1px solid rgb(101, 123, 131) !important; }
.cm-s-inner span.cm-comment { color: rgb(211, 54, 130); }
.cm-s-inner span.cm-atom { color: rgb(108, 113, 196); }
.cm-s-inner span.cm-number { color: rgb(108, 113, 196); }
.cm-s-inner span.cm-property, .cm-s-inner span.cm-attribute { color: rgb(133, 153, 0); }
.cm-s-inner span.cm-keyword { color: rgb(220, 50, 47); }
.cm-s-inner span.cm-string { color: rgb(181, 137, 0); }
.cm-s-inner span.cm-variable { color: rgb(133, 153, 0); }
.cm-s-inner span.cm-variable-2 { color: rgb(38, 139, 210); }
.cm-s-inner span.cm-def { color: rgb(203, 75, 22); }
.cm-s-inner span.cm-error { background: rgb(220, 50, 47); color: rgb(101, 123, 131); }
.cm-s-inner span.cm-bracket { color: rgb(7, 54, 66); }
.cm-s-inner span.cm-tag { color: rgb(220, 50, 47); }
.cm-s-inner span.cm-link { color: rgb(108, 113, 196); }
.cm-s-inner .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
.md-fences { background-color: rgb(245, 245, 245); color: rgb(233, 237, 237); border: none; }
.md-fences .code-tooltip { background-color: black; }
#write { max-width: 660px; padding: 20px 15px 15px; }





 .typora-export p, .typora-export .footnote-line {white-space: normal;} 
</style>
</head>
<body class='typora-export os-windows' >
<div  id='write'  class = 'is-node'><div class='md-toc' mdtype='toc'><p class="md-toc-content"><span class="md-toc-item md-toc-h2" data-ref="n4"><a class="md-toc-inner" href="#header-n4">1. 芯片数据结构</a></span><span class="md-toc-item md-toc-h3" data-ref="n9"><a class="md-toc-inner" href="#header-n9">1.1 Sample Information</a></span><span class="md-toc-item md-toc-h3" data-ref="n19"><a class="md-toc-inner" href="#header-n19">1.2 R中的数据框</a></span><span class="md-toc-item md-toc-h3" data-ref="n24"><a class="md-toc-inner" href="#header-n24">1.3 AnnotatedDataFrame对象（样本信息）</a></span><span class="md-toc-item md-toc-h3" data-ref="n50"><a class="md-toc-inner" href="#header-n50">1.4 ExpressionSet对象（表达矩阵与样本信息的整合）</a></span><span class="md-toc-item md-toc-h3" data-ref="n60"><a class="md-toc-inner" href="#header-n60">1.5 基因信息</a></span><span class="md-toc-item md-toc-h3" data-ref="n63"><a class="md-toc-inner" href="#header-n63">1.6 ExpressionSet对象的其他可选信息</a></span><span class="md-toc-item md-toc-h3" data-ref="n79"><a class="md-toc-inner" href="#header-n79">1.7 内置示例数据及简单分析</a></span><span class="md-toc-item md-toc-h2" data-ref="n131"><a class="md-toc-inner" href="#header-n131">2. 使用bioconductor读取Affymetrix芯片数据</a></span><span class="md-toc-item md-toc-h2" data-ref="n151"><a class="md-toc-inner" href="#header-n151">3. 数据预处理</a></span><span class="md-toc-item md-toc-h3" data-ref="n170"><a class="md-toc-inner" href="#header-n170">3.1 背景信号的校正</a></span><span class="md-toc-item md-toc-h4" data-ref="n185"><a class="md-toc-inner" href="#header-n185">MAS 5.0 算法</a></span><span class="md-toc-item md-toc-h4" data-ref="n192"><a class="md-toc-inner" href="#header-n192">RMA算法</a></span><span class="md-toc-item md-toc-h4" data-ref="n201"><a class="md-toc-inner" href="#header-n201">不同算法的结果</a></span><span class="md-toc-item md-toc-h3" data-ref="n222"><a class="md-toc-inner" href="#header-n222">3.2 summarization=Quantication</a></span><span class="md-toc-item md-toc-h4" data-ref="n231"><a class="md-toc-inner" href="#header-n231">MA plot</a></span><span class="md-toc-item md-toc-h4" data-ref="n251"><a class="md-toc-inner" href="#header-n251">bioconductor中的MA plot</a></span><span class="md-toc-item md-toc-h4" data-ref="n262"><a class="md-toc-inner" href="#header-n262">summarization的详细过程</a></span><span class="md-toc-item md-toc-h5" data-ref="n599"><a class="md-toc-inner" href="#header-n599">MAS 4.0 算法（MicroArray Suite 4.0）</a></span><span class="md-toc-item md-toc-h5" data-ref="n633"><a class="md-toc-inner" href="#header-n633">MAS 5.0 算法（MicroArray Suite 5.0）</a></span><span class="md-toc-item md-toc-h5" data-ref="n653"><a class="md-toc-inner" href="#header-n653">dChip（一个芯片数据分析软件，哈佛）算法即Li-Wong算法</a></span><span class="md-toc-item md-toc-h5" data-ref="n660"><a class="md-toc-inner" href="#header-n660">RMA（Robust Multichip Analysis）算法</a></span><span class="md-toc-item md-toc-h5" data-ref="n671"><a class="md-toc-inner" href="#header-n671">PDNN模型（考虑杂交的热力学因素）</a></span><span class="md-toc-item md-toc-h2" data-ref="n695"><a class="md-toc-inner" href="#header-n695">4. 质量控制（QC）</a></span><span class="md-toc-item md-toc-h3" data-ref="n696"><a class="md-toc-inner" href="#header-n696">4.1 简单质控</a></span><span class="md-toc-item md-toc-h3" data-ref="n705"><a class="md-toc-inner" href="#header-n705">4.2 simpleaffy包进行质控</a></span><span class="md-toc-item md-toc-h3" data-ref="n750"><a class="md-toc-inner" href="#header-n750">4.3 RNA降解图使用affy包查看，可参考之前的部分</a></span><span class="md-toc-item md-toc-h3" data-ref="n751"><a class="md-toc-inner" href="#header-n751">4.4 依赖统计学模型的质控包<code>affyPLM</code></a></span></p></div><p>&nbsp;</p><h2><a name='header-n4' class='md-header-anchor '></a>1. 芯片数据结构</h2><p>芯片数据的结构如下</p><p><img src='assets\1525495194514.png' alt='' referrerPolicy='no-referrer' /></p><h3><a name='header-n9' class='md-header-anchor '></a>1.1 Sample Information</h3><p>对于<strong>Sample Information</strong>，我们至少需要知道样本的组别，在一些更加复杂的使用设计中，我们可能还需要知道更多关于样本的信息如：</p><ul><li>对于研究癌症和正常人的实验设计中，我们可能需要记录每个个体的性别，年龄等信息</li><li>对于动物实验很多相关的处理因素可能需要进行记录</li></ul><h3><a name='header-n19' class='md-header-anchor '></a>1.2 R中的数据框</h3><p>在R的数据框类型数据中，每一行代表一个实验样本，每一列代表每一个我们感兴趣的因素（包括处理因素），dataframe可以同时处理文本因子类型和数值类型的值因而非常实用</p><p>通常我们在excel中创建一个储存样本信息的表格【每一行代表一个样本，每一列代表一个因素】，并存储为csv或tab分隔的文本文件，再用R读取为dataframe【read.csv，read.delim，read.table函数】</p><h3><a name='header-n24' class='md-header-anchor '></a>1.3 AnnotatedDataFrame对象（样本信息）</h3><p>Bioconductor的<code>Biobase</code>包通过一个叫做<code>AnnotatedDataFrame</code>对象来存储样本信息，这个对象包括：</p><ul><li>每个样本的“phenotype”信息，即不同的处理或因素的信息</li><li>其他meta-information，如对各个处理或不同因素的描述</li></ul><p>如我们有8个样本的芯片数据，每个芯片都有200个基因探针：</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fake.data</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">matrix</span>(<span class="cm-variable">rnorm</span>(<span class="cm-number">8</span><span class="cm-operator">*</span><span class="cm-number">200</span>), <span class="cm-variable">ncol</span><span class="cm-operator">=</span><span class="cm-number">8</span>)</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 25px;"></div><div class="CodeMirror-gutters" style="display: none; height: 55px;"></div></div></div></pre><p>接下来我们需要创建<code>AnnotatedDataFrame</code>对象来描述这8个样本的表型：</p><ul><li>包括一个数据框用来区分8个样本（即8列）的表型信息</li><li>一个meta数据框用了描述表型数据框中每一个因素的详细信息</li></ul><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><span><span>​</span>x</span></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 样本的表型信息</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 注意data.frame函数会自动把字符串向量转化为因子（factor）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">sample.info</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span>(</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-variable">spl</span><span class="cm-arg-is">=</span><span class="cm-variable">paste</span>(<span class="cm-string">'A'</span>, <span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">8</span>, <span class="cm-variable">sep</span><span class="cm-operator">=</span><span class="cm-string">''</span>),</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-variable">stat</span><span class="cm-arg-is">=</span><span class="cm-variable">rep</span>(<span class="cm-variable">c</span>(<span class="cm-string">'cancer'</span>, <span class="cm-string">'healthy'</span>), <span class="cm-variable">each</span><span class="cm-operator">=</span><span class="cm-number">4</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 对上一个dataframe列名的详细描述</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">meta.info</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span> (<span class="cm-variable">labelDescription</span> <span class="cm-operator">=</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">c</span>(<span class="cm-string">'Sample Name'</span>, <span class="cm-string">'Cancer Status'</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 创建AnnotatedDataFrame对象</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">library</span>(<span class="cm-variable">Biobase</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pheno</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">new</span>(<span class="cm-string">"AnnotatedDataFrame"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">data</span> <span class="cm-operator">=</span> <span class="cm-variable">sample.info</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">varMetadata</span> <span class="cm-operator">=</span> <span class="cm-variable">meta.info</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 263px;"></div><div class="CodeMirror-gutters" style="display: none; height: 293px;"></div></div></div></pre><p>可以使用pData查看<code>AnnotatedDataFrame</code>对象的样本表型信息</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pheno</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## An object of class 'AnnotatedDataFrame'</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; rowNames: 1 2 ... 8 (8 total)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varLabels: spl stat</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varMetadata: labelDescription</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pData</span>(<span class="cm-variable">pheno</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; spl &nbsp;  stat</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 1  A1  cancer</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 2  A2  cancer</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 3  A3  cancer</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 4  A4  cancer</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 5  A5 healthy</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 6  A6 healthy</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 7  A7 healthy</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 8  A8 healthy</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 280px;"></div><div class="CodeMirror-gutters" style="display: none; height: 310px;"></div></div></div></pre><h3><a name='header-n50' class='md-header-anchor '></a>1.4 ExpressionSet对象（表达矩阵与样本信息的整合）</h3><p>在bioconductor中，<code>ExpressionSet</code>对象可以把表达矩阵和样本信息整合在一起</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">my.experiments</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">new</span>(<span class="cm-string">"ExpressionSet"</span>,</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-variable">exprs</span><span class="cm-operator">=</span><span class="cm-variable">fake.data</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-variable">phenoData</span><span class="cm-operator">=</span><span class="cm-variable">pheno</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><p>可以直接查看<code>ExpressionSet</code>的一些基本信息(基因数，样本数等)</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">my.experiments</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## ExpressionSet (storageMode: lockedEnvironment)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## assayData: 200 features, 8 samples </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; element names: exprs </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## protocolData: none</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## phenoData</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; sampleNames: 1 2 ... 8 (8 total)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varLabels: spl stat</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varMetadata: labelDescription</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## featureData: none</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## experimentData: use 'experimentData(object)'</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## Annotation: &nbsp;</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 212px;"></div><div class="CodeMirror-gutters" style="display: none; height: 242px;"></div></div></div></pre><blockquote><p>注意：如果使用上述方法创建一个<code>ExpressionSet</code>对象，则一定要保证表达矩阵的列与样本信息的行相对应，软件没有办法对这些信息进行检查</p></blockquote><h3><a name='header-n60' class='md-header-anchor '></a>1.5 基因信息</h3><p>我们创建好了一个<code>ExpressionSet</code>对象，但是这个对象却没有对基因的注释及相关信息，bioconductor的一个瑕疵就是它允许用户把表达数据与基因信息<strong>完全分离开</strong>（但大多数人对此都欣然接受）</p><h3><a name='header-n63' class='md-header-anchor '></a>1.6 ExpressionSet对象的其他可选信息</h3><p>处理表达数据（exprs）和样本信息（phenoData）外<code>ExpressoinSet</code>对象还允许添加其他的一些可选信息</p><ul><li>annotation：基因注释信息的环境（<em>这里有点不太理解？？？</em>）</li><li>se.exprs：表达矩阵中每个元素对应的标准差，因此该数据也是一个矩阵</li><li>notes：描述该实验相关信息的字符串</li><li>description：<code>MIAME</code>class的一个对象，即Minimun Information About a Microarray Experiment</li></ul><h3><a name='header-n79' class='md-header-anchor '></a>1.7 内置示例数据及简单分析</h3><p>对于Affymetrix公司的芯片数据，bioconductor提供了一个<strong>特殊的ExpressionSet数据类型</strong>，即<strong>AffyBatch</strong>，<code>affydata</code>包提供了一个示例数据<code>Dilution</code>，<code>Dilution</code>即为一个AffyBatch对象</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># BiocInstaller::biocLite("affydata")</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">library</span>(<span class="cm-variable">affydata</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">data</span>(<span class="cm-variable">Dilution</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">Dilution</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## AffyBatch object</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## size of arrays=640x640 features (30414 kb)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## cdf=HG_U95Av2 (12625 affyids)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## number of samples=4</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## number of genes=12625</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## annotation=hgu95av2</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## notes=</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">phenoData</span>(<span class="cm-variable">Dilution</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## An object of class 'AnnotatedDataFrame'</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; sampleNames: 20A 20B 10A 10B</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varLabels: liver sn19 scanner</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varMetadata: labelDescription</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pData</span>(<span class="cm-variable">Dilution</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; liver sn19 scanner</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 20A &nbsp;  20 &nbsp;  0 &nbsp; &nbsp; &nbsp; 1</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 20B &nbsp;  20 &nbsp;  0 &nbsp; &nbsp; &nbsp; 2</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10A &nbsp;  10 &nbsp;  0 &nbsp; &nbsp; &nbsp; 1</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10B &nbsp;  10 &nbsp;  0 &nbsp; &nbsp; &nbsp; 2</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 416px;"></div><div class="CodeMirror-gutters" style="display: none; height: 446px;"></div></div></div></pre><blockquote><p>注：如果是第一次查看Dilution这个数据，bioconductor会自动联网并更新基因的注释信息，这可能会花一段时间。</p></blockquote><p>首选我们可以看一下芯片的扫描图像，如果出现了异常亮区或异常暗区，则说明质量可能存在问题如下图</p><p><img src='assets\1525521321809.png' alt='' referrerPolicy='no-referrer' /></p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">2</span>, <span class="cm-number">2</span>))</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">Dilution</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>, <span class="cm-number">1</span>))</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><p>&nbsp;</p><p><img src='assets\1525512229871.png' alt='' referrerPolicy='no-referrer' /></p><p>也可以用箱式图及密度分布图查看每个芯片的表达量分布（注意表达量自动进行log2处理），如果出现了某个芯片与其他芯片的差异很大，说明该芯片质量可能存在问题</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">boxplot</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" class="cm-tab-wrap-hack" style="padding-right: 0.1px;"><span class="cm-tab" role="presentation" cm-text="	">    </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">hist</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>, <span class="cm-variable">lty</span><span class="cm-operator">=</span><span class="cm-number">1</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><p><img src='assets\1525512400144.png' alt='' referrerPolicy='no-referrer' /></p><p><img src='assets\1525512533743.png' alt='' referrerPolicy='no-referrer' /></p><p><code>affy</code>包也提供提取特定探针数据的函数</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">geneNames</span>(<span class="cm-variable">Dilution</span>)[<span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">3</span>]</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] "100_g_at" "1000_at"  "1001_at" </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">probeNames</span>(<span class="cm-variable">Dilution</span>)[<span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">48</span>]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  [1] "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at"</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  [9] "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at" "100_g_at"</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [17] "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at" </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [25] "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at"  "1000_at" </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [33] "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at" </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [41] "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"  "1001_at"</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 280px;"></div><div class="CodeMirror-gutters" style="display: none; height: 310px;"></div></div></div></pre><p>可看出一个序列（一个基因或RNA对应一个probset）对应16个探针（通常一个probset对应11~20种探针，每种探针会重复数百次）</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># probset函数截取特定探针的数据 </span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 产生一个Probset对象组成的list </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># probset对象包含了表达数据</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">probeset</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">c</span>(<span class="cm-string">"100_g_at"</span>, <span class="cm-string">"34803_at"</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## $`100_g_at`</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## ProbeSet object:</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; id=100_g_at</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; pm= 16 probes x  4  chips</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## $`34803_at`</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## ProbeSet object:</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; id=34803_at</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; pm= 16 probes x  4  chips</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ps</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">probeset</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">c</span>(<span class="cm-string">"100_g_at"</span>, <span class="cm-string">"34803_at"</span>))[[<span class="cm-number">2</span>]]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># perfect match</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pm</span>(<span class="cm-variable">ps</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp; &nbsp;  20A &nbsp; 20B &nbsp; 10A &nbsp; 10B</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 235143 435.3 267.0 315.0 192.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 121393 206.0 143.8 155.0 118.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 99468  349.8 302.8 277.0 171.8</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 196621 567.0 399.0 480.0 322.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 256831 160.5 140.5 137.3  97.8</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 351719 474.0 312.8 401.0 240.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 361833 561.5 365.5 468.8 319.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 111309 742.8 503.0 622.5 346.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 407736 713.5 440.0 503.0 303.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 407737 736.0 468.0 564.5 327.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 238835 808.3 527.5 516.0 321.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 173838 463.3 322.3 372.0 228.5</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 320847 240.0 177.0 172.0 136.8</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 195435 129.0  80.0  92.0  75.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 327084 193.0 128.3 150.0  96.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 12704  120.0  98.0 109.0  80.5</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># mis-match</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">mm</span>(<span class="cm-variable">ps</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp; &nbsp;  20A &nbsp; 20B &nbsp; 10A &nbsp; 10B</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 235783 230.0 140.3 180.0 111.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 122033 109.5  78.0  94.5  67.8</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 100108 162.0 133.8 119.0  85.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 197261 223.0 132.3 174.8 102.5</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 257471 164.0 104.0 130.5  76.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 352359 371.0 267.0 301.0 187.5</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 362473 487.0 275.5 352.3 200.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 111949 439.0 286.0 311.5 183.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 408376 393.0 240.3 282.3 154.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 408377 655.8 415.8 453.8 282.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 239475 885.0 548.3 511.0 338.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 174478 215.8 137.0 145.0 100.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 321487 134.3  96.0 102.0  88.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 196075 113.0  67.3 107.0  62.3</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 327724 132.3  69.3  91.5  67.0</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 13344  107.0 137.0  95.3  64.0</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 960px;"></div><div class="CodeMirror-gutters" style="display: none; height: 990px;"></div></div></div></pre><p>对该基因的探针数据（未经过log2处理）进行可视化：</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">plot</span>(<span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">16</span>), <span class="cm-variable">c</span>(<span class="cm-number">50</span>, <span class="cm-number">900</span>), <span class="cm-variable">type</span><span class="cm-operator">=</span><span class="cm-string">'n'</span>,</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; <span class="cm-variable">xlab</span><span class="cm-operator">=</span><span class="cm-string">'Probe'</span>, <span class="cm-variable">ylab</span><span class="cm-operator">=</span><span class="cm-string">'Intensity'</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> (<span class="cm-variable">i</span> <span class="cm-keyword">in</span> <span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>) <span class="cm-variable">lines</span>(<span class="cm-variable">pm</span>(<span class="cm-variable">ps</span>)[,<span class="cm-variable">i</span>], <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">i</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> (<span class="cm-variable">i</span> <span class="cm-keyword">in</span> <span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>) <span class="cm-variable">lines</span>(<span class="cm-variable">mm</span>(<span class="cm-variable">ps</span>)[,<span class="cm-variable">i</span>], <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">i</span>, <span class="cm-variable">lty</span><span class="cm-operator">=</span><span class="cm-number">2</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 76px;"></div><div class="CodeMirror-gutters" style="display: none; height: 106px;"></div></div></div></pre><p><img src='assets\1525513833795.png' alt='' referrerPolicy='no-referrer' /></p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## pm-mm的值进行可视化</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">plot</span>(<span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">16</span>), <span class="cm-variable">c</span>(<span class="cm-operator">-</span><span class="cm-number">80</span>, <span class="cm-number">350</span>), <span class="cm-variable">type</span><span class="cm-operator">=</span><span class="cm-string">'n'</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; <span class="cm-variable">xlab</span><span class="cm-operator">=</span><span class="cm-string">'Probe Pair'</span>, <span class="cm-variable">ylab</span><span class="cm-operator">=</span><span class="cm-string">'PM - MM'</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">temp</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">pm</span>(<span class="cm-variable">ps</span>) <span class="cm-operator">-</span> <span class="cm-variable">mm</span>(<span class="cm-variable">ps</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> (<span class="cm-variable">i</span> <span class="cm-keyword">in</span> <span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>) <span class="cm-variable">lines</span>(<span class="cm-variable">temp</span>[,<span class="cm-variable">i</span>], <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">i</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 93px;"></div><div class="CodeMirror-gutters" style="display: none; height: 123px;"></div></div></div></pre><p><img src='assets\1525513779760.png' alt='' referrerPolicy='no-referrer' /></p><p>同时affy包也能查看RNA的降解情况，因为RNA的降解都是从5`向3`开始的，这16（通常每个probset即每个RNA对应这11~20个不同位置的探针）个探针的靶序列也是从RNA的5`向3`方向逐渐靠近的</p><p><img src='assets\1525522134760.png' alt='' referrerPolicy='no-referrer' /></p><p>以杂交的信号为纵坐标，探针的位置作为横坐标作图（其中纵坐标进行了缩放和移动以便对不同样本的斜率进行比较），可以推测5`端的探针序列对应的RNA相对与3`来说密度较低，信号也越低，因此曲线整体呈上升趋势</p><p>比斜率更重要的是芯片之间的比较，理想状况下各芯片的曲线是平行的，而降解得很多的样品其5&#39; 到 3&#39; 线段的斜率会比其他样品大，该数据显示每个位置的探针降解速度都不太一致（斜率呈分段变化），但样品之间的降解一致<sup><a href='#dfref-footnote-1' name='ref-footnote-1'>1</a></sup><sup><a href='#dfref-footnote-2' name='ref-footnote-2'>2</a></sup>，通常从5‘到3’端的第5个探针认为是比较稳定的</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">degrade</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">AffyRNAdeg</span>(<span class="cm-variable">Dilution</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">plotAffyRNAdeg</span>(<span class="cm-variable">degrade</span>, <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><p><img src='assets\1525514273811.png' alt='' referrerPolicy='no-referrer' /></p><p>下图为存在异常降解芯片<strong>脱颖而出</strong>的数据：</p><p><img src='assets\1525521511249.png' alt='' referrerPolicy='no-referrer' /></p><h2><a name='header-n131' class='md-header-anchor '></a>2. 使用bioconductor读取Affymetrix芯片数据</h2><p>affy包提供了<code>ReadAffy</code>函数使创建AffyBatch对像变得简单，该函数还提供了GUI（graphical user interface）界面方便用户的使用，然而我们需要对分析过程进行文档化，为了分析的可重复性我们应该避免使用GUI界面</p><p>由CEL文件创建AffyBatch对象</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">library</span>(<span class="cm-variable">affy</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># There is a function list.celfiles that </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># makes it easy to get a list of the CEL files</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fns</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">list.celfiles</span>(<span class="cm-string">"data/CEL_file_dir"</span>, </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">full.names</span> <span class="cm-operator">=</span> <span class="cm-variable">TRUE</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fns</span>[<span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">2</span>]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] "CEL_file_dir/CL2001011101AA.CEL" "CEL_file_dir/CL2001011102AA.CEL"</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># read CEL data</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">my.data</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">ReadAffy</span>(<span class="cm-variable">filenames</span><span class="cm-operator">=</span><span class="cm-variable">fns</span>) </span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 178px;"></div><div class="CodeMirror-gutters" style="display: none; height: 208px;"></div></div></div></pre><p>构建样本信息的数据AnnotatedDataFrame对象</p><p>其中样本的信息文件（data_file_list.txt）格式如下：</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">scan.name</span><span class="cm-tab" role="presentation" cm-text="	">   </span><span class="cm-variable">sample_name</span><span class="cm-tab" role="presentation" cm-text="	"> </span><span class="cm-variable">type</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">CL2001011101AA</span><span class="cm-tab" role="presentation" cm-text="	">  </span><span class="cm-variable">ALL_1</span><span class="cm-tab" role="presentation" cm-text="	">   </span><span class="cm-variable">A</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">CL2001011104AA</span><span class="cm-tab" role="presentation" cm-text="	">  </span><span class="cm-variable">ALL_2</span><span class="cm-tab" role="presentation" cm-text="	">   </span><span class="cm-variable">A</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" class="cm-tab-wrap-hack" style="padding-right: 0.1px;"><span class="cm-variable">CL2001011105AA</span><span class="cm-tab" role="presentation" cm-text="	">  </span><span class="cm-variable">ALL_3</span><span class="cm-tab" role="presentation" cm-text="	">   </span><span class="cm-variable">A</span><span class="cm-tab" role="presentation" cm-text="	">   </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 76px;"></div><div class="CodeMirror-gutters" style="display: none; height: 106px;"></div></div></div></pre><p>使用函数Biobase包的read.AnnotatedDataFrame读取注释文件，设置第二列为行名：</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">adf</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">read.AnnotatedDataFrame</span>(<span class="cm-variable">file.path</span>(<span class="cm-string">"data"</span>, <span class="cm-string">"/data_file_list.txt"</span>),</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">header</span> <span class="cm-operator">=</span> <span class="cm-variable">TRUE</span>, <span class="cm-variable">sep</span> <span class="cm-operator">=</span> <span class="cm-string">"</span><span class="cm-string-2">\t</span><span class="cm-string">"</span>, <span class="cm-variable">row.names</span> <span class="cm-operator">=</span> <span class="cm-number">2</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">adf</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## An object of class 'AnnotatedDataFrame'</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; rowNames: ALL_1 ALL_2 ... AML_28 (72 total)</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varLabels: scan.name type</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; varMetadata: labelDescription</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 对列名的注释信息（可选）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">varMetadata</span>(<span class="cm-variable">adf</span>) <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span>(<span class="cm-variable">labelDescription</span><span class="cm-operator">=</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">c</span>(<span class="cm-string">"file name"</span>, <span class="cm-string">"disease classification"</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">phenoData</span>(<span class="cm-variable">my.data</span>) <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">adf</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 246px;"></div><div class="CodeMirror-gutters" style="display: none; height: 276px;"></div></div></div></pre><p>也可以再构建一个description，即MIAME对象</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">miame</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">new</span>(<span class="cm-string">"MIAME"</span>, <span class="cm-variable">name</span> <span class="cm-operator">=</span> <span class="cm-string">"someone"</span>,</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">lab</span> <span class="cm-operator">=</span> <span class="cm-string">"your lab name"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">title</span> <span class="cm-operator">=</span> <span class="cm-string">"Gene expression data ..."</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">pubMedIds</span> <span class="cm-operator">=</span> <span class="cm-variable">c</span>(<span class="cm-string">"your pubmed ID"</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">description</span>(<span class="cm-variable">my.data</span>) <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">miame</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">description</span>(<span class="cm-variable">my.data</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## Experiment data</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; Experimenter name: someone </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; Laboratory: your lab name </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; Contact information: &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; Title: Gene expression data ... </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; URL: &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; PMIDs: your pubmed ID </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; No abstract available.</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 280px;"></div><div class="CodeMirror-gutters" style="display: none; height: 310px;"></div></div></div></pre><p>另一种方法为之间使用read.affybatch函数之间构建AffyBatch对象</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">abatch</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">read.affybatch</span>(<span class="cm-variable">filenames</span> <span class="cm-operator">=</span> <span class="cm-variable">fns</span>, </span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">phenoData</span> <span class="cm-operator">=</span> <span class="cm-variable">adf</span>, </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">description</span> <span class="cm-operator">=</span> <span class="cm-variable">miame</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><h2><a name='header-n151' class='md-header-anchor '></a>3. 数据预处理</h2><blockquote><p>bioconductor把low-level processing（即把探针级别【一个基因对应多个探针】的数据转为为基因级别的数据，从而使一个probset对应一个表达量值）分为了4个步骤，每个步骤都可以选择不同的算法，这些方法的不同极有可能会导致后面high-level analyses的差异</p></blockquote><p>这四个步骤为：</p><ul><li>Background correction</li><li>Normalization (on the level of features = probes)</li><li>PM-correction（包括只使用PM，丢弃掉MM，或者把PM-MM作为校正的PM等）</li><li>Summarization（把一个probset中的多个probe对应的多值总结为1个值）</li></ul><h3><a name='header-n170' class='md-header-anchor '></a>3.1 背景信号的校正</h3><blockquote><p>背景校正的目的是为了消除人为的或芯片本身存在的噪声所带来的误差</p></blockquote><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">bgcorrect.methods</span>()</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] "bg.correct" "mas" &nbsp; &nbsp; &nbsp;  "none" &nbsp; &nbsp; &nbsp; "rma" &nbsp; </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><ul><li>mas：使用 MAS 5.0 算法</li><li>none：不做校正</li><li>rma：使用 RMA 算法</li></ul><h4><a name='header-n185' class='md-header-anchor '></a>MAS 5.0 算法</h4><p>MAS 5.0 的背景校正方法为把每个芯片（每个CEL文件）分为16个区，在每个区中最最暗的2%作为每个区的背景水平，在对该芯片的每个探针用这16个背景值的加权平均进行校正，每个区的权重取决于该探针与芯片中这16个区域中心的距离。</p><p><img src='assets\1525597558840.png' alt='' referrerPolicy='no-referrer' /></p><p><img src='assets\1525524010436.png' alt='' referrerPolicy='no-referrer' /></p><h4><a name='header-n192' class='md-header-anchor '></a>RMA算法</h4><p>RMA算法只对PM进行背景校正，MM的值不做校正（放弃MM，因为几乎有1/3的MM值是大于对应的PM的），该模型的假设为PM的值是由两个部分组成的即S=X+Y，其中S为实际检查到的信号，X代表有探针杂交产生的信号服从指数分布Exp(α)，Y代表背景信号服从正态分布N(μ, δ^2)，Y只取大于0的部分，并且X与Y是独立的</p><p><img src='assets\1525597680319.png' alt='' referrerPolicy='no-referrer' /></p><p>最后校正过后的X值=E(X|S = s)，其中s为该探针的信号强度，E(X|S = s)表示在检测到的信号强度为s的情况下X的期望值，具体推导可以看大牛的博士论文：<a href='http://bmbolstad.com/Dissertation/Bolstad_2004_Dissertation.pdf' target='_blank' class='url'>http://bmbolstad.com/Dissertation/Bolstad_2004_Dissertation.pdf</a>，暂时没有时间来研究，先搁在这里。</p><p>还有一个gcrma的算法，考虑到不同序列gc含量与序列亲和力的关系进而估计不同背景信号大小，需要安装gcrma包<code>bgc.gcrma = gcrma(Data)</code>，该命令包括了背景校正，标准化和summarization这几个步骤。</p><h4><a name='header-n201' class='md-header-anchor '></a>不同算法的结果</h4><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">library</span>(<span class="cm-variable">affydata</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">data</span>(<span class="cm-variable">Dilution</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">d.mas</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">bg.correct</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>], <span class="cm-string">"mas"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">d.rma</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">bg.correct</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>], <span class="cm-string">"rma"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">bg.with.mas</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">pm</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>]) <span class="cm-operator">-</span> <span class="cm-variable">pm</span>(<span class="cm-variable">d.mas</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">bg.with.rma</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">pm</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>]) <span class="cm-operator">-</span> <span class="cm-variable">pm</span>(<span class="cm-variable">d.rma</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">2</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">hist</span>(<span class="cm-variable">bg.with.mas</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">hist</span>(<span class="cm-variable">bg.with.rma</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">1</span>))</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 195px;"></div><div class="CodeMirror-gutters" style="display: none; height: 225px;"></div></div></div></pre><p>&nbsp;</p><p><img src='assets\1525527911120.png' alt='' referrerPolicy='no-referrer' /></p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">summary</span>(<span class="cm-variable">data.frame</span>(<span class="cm-variable">bg.with.mas</span>, <span class="cm-variable">bg.with.rma</span>))</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp; X20A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; X20A.1 &nbsp; &nbsp; </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Min. &nbsp; :74.53 &nbsp; Min. &nbsp; : 72.4 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  1st Qu.:93.14 &nbsp; 1st Qu.:113.7 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Median :94.35 &nbsp; Median :114.9 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Mean &nbsp; :94.27 &nbsp; Mean &nbsp; :112.1 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  3rd Qu.:95.80 &nbsp; 3rd Qu.:114.9 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Max. &nbsp; :97.67 &nbsp; Max. &nbsp; :114.9 </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 144px;"></div><div class="CodeMirror-gutters" style="display: none; height: 174px;"></div></div></div></pre><p>&nbsp;</p><p>在该示例数据中，RMA算法估计的背景值比MAS 5.0估计的背景值大，而且RMA算法的背景值比较恒定</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 两种算法的差值分布</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">hist</span>(<span class="cm-variable">bg.with.rma</span> <span class="cm-operator">-</span> <span class="cm-variable">bg.with.mas</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><p><img src='assets\1525528182020.png' alt='' referrerPolicy='no-referrer' /></p><p>差值大部分为20，可以由芯片的信号值分布看一看20究竟有多大</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">tmp</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span>(<span class="cm-variable">pm</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>]), <span class="cm-variable">mm</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">1</span>]))</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">colnames</span>(<span class="cm-variable">tmp</span>) <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">c</span>(<span class="cm-string">"PM"</span>, <span class="cm-string">"MM"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">summary</span>(<span class="cm-variable">tmp</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp;  PM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  MM &nbsp; &nbsp; &nbsp; &nbsp; </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Min. &nbsp; : &nbsp; 76.0 &nbsp; Min. &nbsp; : &nbsp; 77.3 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  1st Qu.:  137.0 &nbsp; 1st Qu.:  120.3 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Median :  225.0 &nbsp; Median :  164.5 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Mean &nbsp; :  507.3 &nbsp; Mean &nbsp; :  323.5 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  3rd Qu.:  489.0 &nbsp; 3rd Qu.:  313.0 &nbsp;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##  Max. &nbsp; :23356.3 &nbsp; Max. &nbsp; :17565.3 </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">boxplot</span>(<span class="cm-variable">tmp</span>, <span class="cm-variable">ylim</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">0</span>, <span class="cm-number">1000</span>))</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 195px;"></div><div class="CodeMirror-gutters" style="display: none; height: 225px;"></div></div></div></pre><p><img src='assets\1525528495987.png' alt='' referrerPolicy='no-referrer' /></p><p>可以看出20越占大部分信号值的1/10，不同算法的差值还是比较大的</p><h3><a name='header-n222' class='md-header-anchor '></a>3.2 summarization=Quantication</h3><p>暂时先不管normalization和PM correction这一步，summarization的目的就是把所有同一probset（即同一基因mRNA）的PM和MM探针对转化为一个数值，这个数值是对目标基因表达量的最佳估计，其方法有：</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">express.summary.stat.methods</span>()</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] "avgdiff" &nbsp; &nbsp;  "liwong" &nbsp; &nbsp; &nbsp; "mas" &nbsp; &nbsp; &nbsp; &nbsp;  "medianpolish" "playerout" &nbsp; </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><p>&nbsp;</p><p>使用不同的summarization方法对probeset进行定量，<code>expresso</code>函数把所有预处理步骤都整合在了一起</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">tempfun</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-keyword">function</span>(<span class="cm-variable">method</span>) {</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-variable">expresso</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">bg.correct</span> <span class="cm-operator">=</span> <span class="cm-variable">FALSE</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">normalize</span> <span class="cm-operator">=</span> <span class="cm-variable">FALSE</span>, <span class="cm-variable">pmcorrect.method</span> <span class="cm-operator">=</span> <span class="cm-string">"pmonly"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">summary.method</span> <span class="cm-operator">=</span> <span class="cm-variable">method</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ad</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"avgdiff"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">al</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"liwong"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">am</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"mas"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ar</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"medianpolish"</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 178px;"></div><div class="CodeMirror-gutters" style="display: none; height: 208px;"></div></div></div></pre><h4><a name='header-n231' class='md-header-anchor '></a>MA plot</h4><blockquote><p>MA plot即M-versus-A plot，在芯片数据处理出现之前也称为Bland-Altman plot，是由发明者名字命名的，而MA plot是对M与A作图而得名，M是<strong><em>minus</em></strong>的缩写，代表两个值之差，A是<strong><em>add</em></strong>的缩写，代表两个值之和。有研究者也把MA plot称为Ratio-Intensity (RI) plots。</p></blockquote><p>MA plot的作用是为了展示两个值几乎处处相等的变量（x和y）之间的关系，为了展示两个变量之间的变化关系，大多数人的思维都是把x与y分别作为横轴和纵轴进行绘图，如果y=x，则该图呈45度角的直线（如下图中左边图的蓝色直线），可以通过查看点形成的直线偏离预期直线的多少来衡量系统偏差，然而该图存在以下几个缺点：</p><ol start='' ><li>人的视觉对水平线比更敏感</li><li>不同坐标轴的刻度可能会使预期参考直线偏离45度</li><li>很难从直观上衡量偏离一条线性的大小</li></ol><p>MA plot的处理方法是把该直线顺时针旋转45度，把参考对角线变为直线，具体做法是把(x+y)/2作为横轴，(y-x)作为纵轴，则参考直线变为一条水平线，如下方右图，这样可以很清楚的在视觉上展示两个相等的变量之间偏离参考值的大小，即存在的系统误差的大小</p><p><img src='assets\1525531105639.png' alt='' referrerPolicy='no-referrer' /></p><h4><a name='header-n251' class='md-header-anchor '></a>bioconductor中的MA plot</h4><p>affy包的函数<code>mva.pairs</code>可以快速地做出MA plot（也可以使用MAplot函数），接下来我们使用MA plot来比较不同summarize方法之间的差异，<code>mva.pairs</code>函数的输入参数就是各变量形成的一个dataframe</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## ar进行了log2处理</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">temp</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span>(<span class="cm-variable">exprs</span>(<span class="cm-variable">ad</span>)[, <span class="cm-number">1</span>], </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">exprs</span>(<span class="cm-variable">al</span>)[,<span class="cm-number">1</span>], </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">exprs</span>(<span class="cm-variable">am</span>)[, <span class="cm-number">1</span>],</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-number">2</span><span class="cm-operator">^</span><span class="cm-variable">exprs</span>(<span class="cm-variable">ar</span>)[, <span class="cm-number">1</span>])</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">dimnames</span>(<span class="cm-variable">temp</span>)[[<span class="cm-number">2</span>]] <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">c</span>(<span class="cm-string">"Mas4"</span>, <span class="cm-string">"dChip"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-string">"Mas5"</span>, <span class="cm-string">"RMA"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">affy</span><span class="cm-operator">::</span><span class="cm-variable">mva.pairs</span>(<span class="cm-variable">temp</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 144px;"></div><div class="CodeMirror-gutters" style="display: none; height: 174px;"></div></div></div></pre><p><img src='assets\1525533344941.png' alt='' referrerPolicy='no-referrer' /></p><p>上图中的差异也有可能是由于我们没有在summarization之前进行校正，接下来我们使用RMA方法进行背景校正，使用百分位数标准化方法，并且只用PM值进行数据定量汇总</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">tempfun</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-keyword">function</span>(<span class="cm-variable">method</span>) {</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-variable">expresso</span>(<span class="cm-variable">Dilution</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">bgcorrect.method</span> <span class="cm-operator">=</span> <span class="cm-string">"rma"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">normalize.method</span> <span class="cm-operator">=</span> <span class="cm-string">"quantiles"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">pmcorrect.method</span> <span class="cm-operator">=</span> <span class="cm-string">"pmonly"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">summary.method</span> <span class="cm-operator">=</span> <span class="cm-variable">method</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ad</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"avgdiff"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">al</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"liwong"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">am</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"mas"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ar</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">tempfun</span>(<span class="cm-string">"medianpolish"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## ar进行了log2处理</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">temp</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">data.frame</span>(<span class="cm-variable">exprs</span>(<span class="cm-variable">ad</span>)[, <span class="cm-number">1</span>], </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">exprs</span>(<span class="cm-variable">al</span>)[,<span class="cm-number">1</span>], </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-variable">exprs</span>(<span class="cm-variable">am</span>)[, <span class="cm-number">1</span>],</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-number">2</span><span class="cm-operator">^</span><span class="cm-variable">exprs</span>(<span class="cm-variable">ar</span>)[, <span class="cm-number">1</span>])</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">dimnames</span>(<span class="cm-variable">temp</span>)[[<span class="cm-number">2</span>]] <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">c</span>(<span class="cm-string">"Mas4"</span>, <span class="cm-string">"dChip"</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-string">"Mas5"</span>, <span class="cm-string">"RMA"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">mva.pairs</span>(<span class="cm-variable">temp</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 365px;"></div><div class="CodeMirror-gutters" style="display: none; height: 395px;"></div></div></div></pre><p><img src='assets\1525534018175.png' alt='' referrerPolicy='no-referrer' /></p><h4><a name='header-n262' class='md-header-anchor '></a>summarization的详细过程</h4><blockquote><p>每个算法都包括了四个步骤的不同处理方式（即一个算法包含4个小算法），如MAS 4.0 包括MAS，constant，subtractmm，avgdiff</p></blockquote><p>不同算法的组合如下表（摘抄自：NAR文献<a href='https://academic.oup.com/nar/article/34/2/e8/2401737'>Comparison of algorithms for the analysis of Affymetrix microarray data as evaluated by co-expression of genes in known operons</a>）：</p><figure><table><thead><tr><th>Background correction</th><th>Normalization</th><th>PM-correction</th><th>Summarization</th><th>Common name</th></tr></thead><tbody><tr><td>mas</td><td>invariantset</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>constant</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>rma</td><td>quantiles</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>mas</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>rma</td><td>invariantset</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>invariantset</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>constant</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>pmonly</td><td>liwong</td><td>Li–Wong</td></tr><tr><td>rma</td><td>constant</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>invariantset</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>constant</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>quantiles</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>invariantset</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>mas</td><td>mas</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>mas</td><td>mas</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>quantiles</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>none</td><td>constant</td><td>mas</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>invariantset</td><td>mas</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>mas</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>mas</td><td>mas</td><td>mas5.0</td></tr><tr><td>none</td><td>constant</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>quantiles</td><td>pmonly</td><td>medianpolish</td><td>gcrma</td></tr><tr><td>gcrma</td><td>invariantset</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>constant</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>gcrma</td><td>constant</td><td>pmonly</td><td>liwong</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>mas</td><td>invariantset</td><td>mas</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>none</td><td>constant</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>invariantset</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>rma</td><td>quantiles</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>rma</td><td>constant</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>constant</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>rma</td><td>invariantset</td><td>pmonly</td><td>mas</td><td>&nbsp;</td></tr><tr><td>mas</td><td>quantiles</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>rma</td><td>constant</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>rma</td><td>quantiles</td><td>pmonly</td><td>medianpolish</td><td>rma</td></tr><tr><td>rma</td><td>invariantset</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>mas</td><td>invariantset</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>quantiles</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>invariantset</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr><tr><td>none</td><td>constant</td><td>pmonly</td><td>medianpolish</td><td>&nbsp;</td></tr></tbody></table></figure><h5><a name='header-n599' class='md-header-anchor '></a>MAS 4.0 算法（MicroArray Suite 4.0）</h5><p>MAS4.0代表一个完整的数据处理算法，对背景校正，标准化，PM校正，probeSet定量4个完整步骤都有其特定的计算过程：</p><ul><li>背景校正算法也叫做MAS，即使用2%的信号作为背景如前所述</li><li>标准化算法为constant，即把所有芯片的中位数缩放致一个相等的常数</li><li>PM校正为PM-MM，即subtractmm</li><li><strong>summarization</strong>使用叫做<strong>avgdiff</strong>的算法，即把PM-MM的离群值（偏离均值大于3倍标准差）删除后计算平均值为基因的表达量值</li></ul><p>对<strong>avgdiff</strong>的评价：</p><ul><li>对所有的探针都一视同仁（没有加权重）</li><li>对PM-MM的值只是简单的相加</li><li>可能会把一些有趣的探针给删除掉（离群值）</li><li>可能会产生负值（大约有1/3的MM大于PM）</li><li>不能有效利用其他芯片的数据（没有建立一个模型）</li></ul><h5><a name='header-n633' class='md-header-anchor '></a>MAS 5.0 算法（MicroArray Suite 5.0）</h5><p>mas5.0的4个步骤中，除了标准化为constant外，其余均名为mas</p><p>PM校正方法名为mas：即把PM-CT作为校正的PM，CT为change threshold是一个调整后的MM，以保证CT值小于PM值，CT值算法为</p><ul><li>如果MM小于PM则CT=MM</li><li>如果MM大于PM，则CT校正为一个比PM较小的数，如<a href='http://nebc.nerc.ac.uk/courses/GeneSpring/GS_Mar2006/RMA%20comparison%20with%20MAS5.pdf'>下图</a>所示</li></ul><p><img src='assets\1525601053399.png' alt='' referrerPolicy='no-referrer' /></p><p>summarization方法也称为mas：即Signal = anti-log of Tukeybiweight(log (PM –CT))</p><p>点评：mas 仍然没有用到不同芯片的数据即建立一个模型</p><p>开发了mas 5.0后，affymetrix公司不再投入大量精力开发算法，但提供了一套可以检验算法的数据The Affy Latin Square Experiment.用这个数据可以证明mas 5.0比mas 4.0（avgdiff）表现更优越</p><h5><a name='header-n653' class='md-header-anchor '></a>dChip（一个芯片数据分析软件，哈佛）算法即Li-Wong算法</h5><p>Li-Wong算法【由现北大研究员<a href='http://www.bio.pku.edu.cn/teacher_dis_oa.php?cid=146&&teaid=39'>李程</a>与现斯坦福教授<a href='https://mp.weixin.qq.com/s/Q6GCg9XiB01UTF76fmENcQ'>王永雄</a>开发】包括三个小部分，不包括背景校正过程，标准化为invariantset（以后再了解），PM校正方法为只使用PM值或PP和MM值都使用（可自定义），summarization为一个统计学模型称为Li-Wong算法，所有芯片的数据都得到了很好的利用，但是如果芯片数目比较少时可信度较差</p><div contenteditable="false" class="mathjax-block md-end-block" id="mathjax-n655" cid="n655" mdtype="math_block"><span class="MathJax_Preview"></span><span class="MathJax_SVG_Display"><span class="MathJax_SVG" id="MathJax-Element-1-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="86.697ex" height="3.037ex" viewBox="0 -890.8 37327.8 1307.5" role="img" focusable="false" style="vertical-align: -0.968ex;"><defs><path stroke-width="0" id="E1-MJMAIN-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path stroke-width="0" id="E1-MJMAIN-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path stroke-width="0" id="E1-MJMAIN-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path stroke-width="0" id="E1-MJMATHI-4D" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path><path stroke-width="0" id="E1-MJMATHI-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path stroke-width="0" id="E1-MJMATHI-6A" d="M297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376Z"></path><path stroke-width="0" id="E1-MJMAIN-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path stroke-width="0" id="E1-MJMATHI-76" d="M173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380Z"></path><path stroke-width="0" id="E1-MJMAIN-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path stroke-width="0" id="E1-MJMATHI-3B8" d="M35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132Z"></path><path stroke-width="0" id="E1-MJMATHI-3B1" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path stroke-width="0" id="E1-MJMATHI-3F5" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g transform="translate(36049,0)"><g id="mjx-eqn-1" transform="translate(0,-3)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-28"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-31" x="389" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-29" x="889" y="0"></use></g></g><g transform="translate(14056,0)"><g transform="translate(-13,0)"><g transform="translate(0,-3)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-4D" x="0" y="0"></use><g transform="translate(1051,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-4D" x="0" y="0"></use><g transform="translate(970,-150)"><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-69" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-6A" x="345" y="0"></use></g></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-3D" x="2934" y="0"></use><g transform="translate(3989,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-76" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-6A" x="685" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-2B" x="5088" y="0"></use><g transform="translate(6088,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-3B8" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-69" x="663" y="-213"></use></g><g transform="translate(6901,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-3B1" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-6A" x="905" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMAIN-2B" x="8155" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E1-MJMATHI-3F5" x="9155" y="0"></use></g></g></g></g></svg></span></span><script type="math/tex; mode=display" id="MathJax-Element-1">MM_{ij} = v_{j} + \theta_{i}\alpha_{j} + \epsilon</script></div><div contenteditable="false" class="mathjax-block md-end-block" id="mathjax-n657" cid="n657" mdtype="math_block"><span class="MathJax_Preview"></span><span class="MathJax_SVG_Display"><span class="MathJax_SVG" id="MathJax-Element-2-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="86.697ex" height="3.037ex" viewBox="0 -890.8 37327.8 1307.5" role="img" focusable="false" style="vertical-align: -0.968ex;"><defs><path stroke-width="0" id="E2-MJMAIN-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path stroke-width="0" id="E2-MJMAIN-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path><path stroke-width="0" id="E2-MJMAIN-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path stroke-width="0" id="E2-MJMATHI-50" d="M287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554Z"></path><path stroke-width="0" id="E2-MJMATHI-4D" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path><path stroke-width="0" id="E2-MJMATHI-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path stroke-width="0" id="E2-MJMATHI-6A" d="M297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376Z"></path><path stroke-width="0" id="E2-MJMAIN-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path stroke-width="0" id="E2-MJMATHI-76" d="M173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380Z"></path><path stroke-width="0" id="E2-MJMAIN-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path stroke-width="0" id="E2-MJMATHI-3B8" d="M35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132Z"></path><path stroke-width="0" id="E2-MJMATHI-3B1" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path stroke-width="0" id="E2-MJMATHI-3C6" d="M92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278Z"></path><path stroke-width="0" id="E2-MJMATHI-3F5" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g transform="translate(36049,0)"><g id="mjx-eqn-2" transform="translate(0,-3)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-28"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-32" x="389" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-29" x="889" y="0"></use></g></g><g transform="translate(12666,0)"><g transform="translate(-13,0)"><g transform="translate(0,-3)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-50" x="0" y="0"></use><g transform="translate(751,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-4D" x="0" y="0"></use><g transform="translate(970,-150)"><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-69" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-6A" x="345" y="0"></use></g></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-3D" x="2634" y="0"></use><g transform="translate(3689,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-76" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-6A" x="685" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-2B" x="4788" y="0"></use><g transform="translate(5788,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-3B8" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-69" x="663" y="-213"></use></g><g transform="translate(6601,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-3B1" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-6A" x="905" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-2B" x="7855" y="0"></use><g transform="translate(8855,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-3B8" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-69" x="663" y="-213"></use></g><g transform="translate(9668,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-3C6" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-6A" x="924" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMAIN-2B" x="10935" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E2-MJMATHI-3F5" x="11936" y="0"></use></g></g></g></g></svg></span></span><script type="math/tex; mode=display" id="MathJax-Element-2">PM_{ij} = v_{j} + \theta_{i}\alpha_{j} + \theta_{i}\varphi_{j} + \epsilon</script></div><p>其模型最终PM-MM值为探针亲和力<span class="MathJax_Preview"></span><span class="MathJax_SVG" id="MathJax-Element-3-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="2.428ex" height="2.074ex" viewBox="0 -535.3 1045.3 892.8" role="img" focusable="false" style="vertical-align: -0.83ex;"><defs><path stroke-width="0" id="E3-MJMATHI-3C6" d="M92 210Q92 176 106 149T142 108T185 85T220 72L235 70L237 71L250 112Q268 170 283 211T322 299T370 375T429 423T502 442Q547 442 582 410T618 302Q618 224 575 152T457 35T299 -10Q273 -10 273 -12L266 -48Q260 -83 252 -125T241 -179Q236 -203 215 -212Q204 -218 190 -218Q159 -215 159 -185Q159 -175 214 -2L209 0Q204 2 195 5T173 14T147 28T120 46T94 71T71 103T56 142T50 190Q50 238 76 311T149 431H162Q183 431 183 423Q183 417 175 409Q134 361 114 300T92 210ZM574 278Q574 320 550 344T486 369Q437 369 394 329T323 218Q309 184 295 109L286 64Q304 62 306 62Q423 62 498 131T574 278Z"></path><path stroke-width="0" id="E3-MJMATHI-6A" d="M297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E3-MJMATHI-3C6" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E3-MJMATHI-6A" x="924" y="-213"></use></g></svg></span><script type="math/tex" id="MathJax-Element-3">\varphi_{j}</script>与表达量<span class="MathJax_Preview"></span><span class="MathJax_SVG" id="MathJax-Element-4-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="1.888ex" height="2.349ex" viewBox="0 -772.3 813 1011.3" role="img" focusable="false" style="vertical-align: -0.555ex;"><defs><path stroke-width="0" id="E4-MJMATHI-3B8" d="M35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132Z"></path><path stroke-width="0" id="E4-MJMATHI-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E4-MJMATHI-3B8" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E4-MJMATHI-69" x="663" y="-213"></use></g></svg></span><script type="math/tex" id="MathJax-Element-4">\theta_{i}</script>的乘积，i代表样本，j代表探针，<span class="MathJax_Preview"></span><span class="MathJax_SVG" id="MathJax-Element-5-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="1.925ex" height="1.798ex" viewBox="0 -535.3 829 774.3" role="img" focusable="false" style="vertical-align: -0.555ex;"><defs><path stroke-width="0" id="E5-MJMATHI-76" d="M173 380Q173 405 154 405Q130 405 104 376T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Q21 294 29 316T53 368T97 419T160 441Q202 441 225 417T249 361Q249 344 246 335Q246 329 231 291T200 202T182 113Q182 86 187 69Q200 26 250 26Q287 26 319 60T369 139T398 222T409 277Q409 300 401 317T383 343T365 361T357 383Q357 405 376 424T417 443Q436 443 451 425T467 367Q467 340 455 284T418 159T347 40T241 -11Q177 -11 139 22Q102 54 102 117Q102 148 110 181T151 298Q173 362 173 380Z"></path><path stroke-width="0" id="E5-MJMATHI-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E5-MJMATHI-76" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E5-MJMATHI-69" x="685" y="-213"></use></g></svg></span><script type="math/tex" id="MathJax-Element-5">v_{i}</script>代表非特异性杂交的基线水平，文章地址为：<a href='http://www.pnas.org/content/98/1/31' target='_blank' class='url'>http://www.pnas.org/content/98/1/31</a></p><h5><a name='header-n660' class='md-header-anchor '></a>RMA（Robust Multichip Analysis）算法</h5><p><a href='https://academic.oup.com/biostatistics/article/4/2/249/245074'>RMA</a>算法是2003年由Rafael A. Irizarry（Bekerley）等人提出的，前面已经大致介绍了背景校正的方法，标准化使用的是一种叫做median polish的方法（以后再介绍），该方法完全丢弃了MM值（他们给出的理由是因为太多MM信号值大于PM值的情况，因此考虑MM的值会引入很大的变异）【他们的想法或许是正确的】</p><p>像dChip一样，该算法的summarization方法是建立在一个统计学模型之上的：</p><p><span class="MathJax_Preview"></span><span class="MathJax_SVG" id="MathJax-Element-6-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="41.56ex" height="2.762ex" viewBox="0 -831.5 17893.7 1189" role="img" focusable="false" style="vertical-align: -0.83ex;"><defs><path stroke-width="0" id="E6-MJMATHI-6C" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path><path stroke-width="0" id="E6-MJMATHI-6F" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path><path stroke-width="0" id="E6-MJMATHI-67" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path stroke-width="0" id="E6-MJMAIN-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path stroke-width="0" id="E6-MJMATHI-6D" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path><path stroke-width="0" id="E6-MJMATHI-65" d="M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z"></path><path stroke-width="0" id="E6-MJMATHI-64" d="M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z"></path><path stroke-width="0" id="E6-MJMATHI-70" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path><path stroke-width="0" id="E6-MJMATHI-50" d="M287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554Z"></path><path stroke-width="0" id="E6-MJMATHI-4D" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path><path stroke-width="0" id="E6-MJMATHI-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path stroke-width="0" id="E6-MJMATHI-6A" d="M297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376Z"></path><path stroke-width="0" id="E6-MJMAIN-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path stroke-width="0" id="E6-MJMATHI-42" d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z"></path><path stroke-width="0" id="E6-MJMATHI-47" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252Z"></path><path stroke-width="0" id="E6-MJMAIN-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path stroke-width="0" id="E6-MJMAIN-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path stroke-width="0" id="E6-MJMATHI-3BC" d="M58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216Z"></path><path stroke-width="0" id="E6-MJMAIN-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path stroke-width="0" id="E6-MJMATHI-3B1" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path stroke-width="0" id="E6-MJMATHI-3F5" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6C" x="0" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6F" x="298" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-67" x="783" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-28" x="1263" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6D" x="1652" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-65" x="2530" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-64" x="2996" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-70" x="3519" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6F" x="4022" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6C" x="4507" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-28" x="4805" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-50" x="5194" y="0"></use><g transform="translate(5945,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-4D" x="0" y="0"></use><g transform="translate(970,-150)"><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-69" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6A" x="345" y="0"></use></g></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-2212" x="7772" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-42" x="8772" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-47" x="9531" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-29" x="10317" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-29" x="10706" y="0"></use><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-3D" x="11373" y="0"></use><g transform="translate(12429,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-3BC" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-69" x="852" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-2B" x="13598" y="0"></use><g transform="translate(14598,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-3B1" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6A" x="905" y="-213"></use></g><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMAIN-2B" x="15852" y="0"></use><g transform="translate(16852,0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-3F5" x="0" y="0"></use><g transform="translate(406,-150)"><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-69" x="0" y="0"></use><use transform="scale(0.707)" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E6-MJMATHI-6A" x="345" y="0"></use></g></g></g></svg></span><script type="math/tex" id="MathJax-Element-6">log(medpol(PM_{ij} - BG)) = \mu_{i} + \alpha_{j} + \epsilon_{ij}</script></p><p>其中芯片编号为i，j代表探针</p><p>模型的参数由多个芯片的数据进行拟合得到，与dChip不同的是<span class="MathJax_Preview"></span><span class="MathJax_SVG" id="MathJax-Element-7-Frame" tabindex="-1" style="font-size: 100%; display: inline-block;"><svg xmlns:xlink="http://www.w3.org/1999/xlink" width="0.943ex" height="1.523ex" viewBox="0 -535.3 406 655.8" role="img" focusable="false" style="vertical-align: -0.28ex;"><defs><path stroke-width="0" id="E7-MJMATHI-3F5" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#E7-MJMATHI-3F5" x="0" y="0"></use></g></svg></span><script type="math/tex" id="MathJax-Element-7">\epsilon</script>的值是经过对数处理的，这充分考虑到了值越大的探针其变异也越大的特点</p><h5><a name='header-n671' class='md-header-anchor '></a>PDNN模型（考虑杂交的热力学因素）</h5><blockquote><p>以上算法都是从数学层面上进行处理，而没有试图解释不同探针之间的信号差异来源，以及是什么决定了非特异性结合。通常这些都与探针的序列，及杂交的热力学性质相关</p></blockquote><p>Li Zhang提出了Position-Dependent Nearest Neighbor(PDNN) 模型(<a href='https://www.nature.com/articles/nbt836'>Nat Biotech, 2003; 21:818</a>).不像dChip和RMA，PDNN模型参数的估计只需要单个芯片的数据（很大程度上是由于参数数目比较少）。该模型考虑序列对杂交的影响，把信号强度值与序列联系起来。</p><p>该模型的参数有：</p><ol start='' ><li>碱基对在序列中的位置k</li><li>与临近碱基对的作用，除了知道k，还需要知道k-1和k+1</li></ol><p>该模型的实现需要单独安装一个包<code>affypdnn</code>，在载入这个包之后，会自动载入相关函数，并更新可选的模型</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># registering new summary method 'pdnn'.</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># registering new pmcorrect method 'pdnn' and 'pdnnpredict'.</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">express.summary.stat.methods</span>()</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] "avgdiff" &nbsp; &nbsp;  "liwong" &nbsp; &nbsp; &nbsp; "mas" &nbsp; &nbsp; &nbsp; &nbsp;  "medianpolish" "playerout" &nbsp;  "pdnn" </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 110px;"></div><div class="CodeMirror-gutters" style="display: none; height: 140px;"></div></div></div></pre><p>&nbsp;</p><p>需要注意的是PDNN模型没有按照标准的<code>expresso</code>4个步骤处理数据，该模型直接从百分位数校正开始，可以只使用PM或PM和MM同时进行拟合，背景的估计整合到了能量和表达参数里面。</p><p>需要使用<code>expressopdnn</code>这个<code>expresso</code>的变体实现PDNN模型的运算。</p><h2><a name='header-n695' class='md-header-anchor '></a>4. 质量控制（QC）</h2><h3><a name='header-n696' class='md-header-anchor '></a>4.1 简单质控</h3><blockquote><p>即前面的简单分析部分</p></blockquote><p>第一步是看图形，有没有异常的区域</p><p>接着可以看看表达值的分布情况，看有没有异常的芯片</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">Dilution</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">boxplot</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">col</span> <span class="cm-operator">=</span> <span class="cm-number">2</span><span class="cm-operator">:</span><span class="cm-number">5</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">hist</span>(<span class="cm-variable">Dilution</span>, <span class="cm-variable">col</span> <span class="cm-operator">=</span> <span class="cm-number">2</span><span class="cm-operator">:</span><span class="cm-number">5</span>, <span class="cm-variable">lty</span> <span class="cm-operator">=</span> <span class="cm-number">1</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><h3><a name='header-n705' class='md-header-anchor '></a>4.2 simpleaffy包进行质控</h3><blockquote><p>simpleaffy质控得到的结果都是<strong>按照MAS5.0算法</strong>产生的，如校正因子，背景信号强度等都是MAS 5.0算法的结果</p></blockquote><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">require</span>(<span class="cm-variable">simpleaffy</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">Dil.qc</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">qc</span>(<span class="cm-variable">Dilution</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><p>首先我们可以看看每个芯片的背景值是否有可比性，差别非常大的异常值</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 各芯片背景均值</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">sort</span>(<span class="cm-variable">avbg</span>(<span class="cm-variable">Dil.qc</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp;  10B &nbsp; &nbsp;  20B &nbsp; &nbsp;  10A &nbsp; &nbsp;  20A </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 54.25830 63.63855 80.09436 94.25323 </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 各芯片背景最大值</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">sort</span>(<span class="cm-variable">maxbg</span>(<span class="cm-variable">Dil.qc</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp;  10B &nbsp; &nbsp;  20B &nbsp; &nbsp;  10A &nbsp; &nbsp;  20A </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 57.62283 68.18998 83.24646 97.66280 </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 各芯片背景最小值（MAS 5.0算法）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">sort</span>(<span class="cm-variable">minbg</span>(<span class="cm-variable">Dil.qc</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp;  10B &nbsp; &nbsp;  20B &nbsp; &nbsp;  10A &nbsp; &nbsp;  20A </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 49.22574 60.01397 77.32196 89.52555 </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 246px;"></div><div class="CodeMirror-gutters" style="display: none; height: 276px;"></div></div></div></pre><p>芯片标准化时，标准的Affymetrix流程为乘上一个校正因子（scaling factors）使各芯片的中位数相同，Affymetrix要求可比较的芯片之间的校正因子不能超过3</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 标准校正流程中的校正因子</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">sfs</span>(<span class="cm-variable">Dil.qc</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] 0.8934013 1.2653627 1.1448430 1.8454067</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">max</span>(<span class="cm-variable">sfs</span>(<span class="cm-variable">Dil.qc</span>))<span class="cm-operator">/</span><span class="cm-variable">min</span>(<span class="cm-variable">sfs</span>(<span class="cm-variable">Dil.qc</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [1] 2.065597</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 110px;"></div><div class="CodeMirror-gutters" style="display: none; height: 140px;"></div></div></div></pre><p>接下来是percent of present值（即有多少基因按照<a href='https://academic.oup.com/bioinformatics/article/18/12/1593/239312'>Detection calls</a>算法是确实存在表达且被检测到的）是否有可比性，如果有离群值或低于30，高于60的值说明可能存在质量问题</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">percent.present</span>(<span class="cm-variable">Dil.qc</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 20A.present 20B.present 10A.present 10B.present </span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp;  48.79208 &nbsp;  49.82178 &nbsp;  49.37822 &nbsp;  49.75842 </span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 59px;"></div><div class="CodeMirror-gutters" style="display: none; height: 89px;"></div></div></div></pre><p>Affymetrix设计了一些参考管家基因（通常是GAPDH或beta-actin）的3‘，middle和5’的探针，其中actin的3‘/5&#39;的值应该是小于3，GAPDH的3&#39;/5&#39;值小于1（5’端可能存在部分降解，可与RNA降解图结合起来看），否则可能存在问题</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">ratios</span>(<span class="cm-variable">Dil.qc</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; actin3/actin5 actin3/actinM gapdh3/gapdh5 gapdh3/gapdhM</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 20A &nbsp; &nbsp; 0.6961423 &nbsp; &nbsp; 0.1273385 &nbsp; &nbsp; 0.4429746 &nbsp; -0.06024147</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 20B &nbsp; &nbsp; 0.7208418 &nbsp; &nbsp; 0.1796231 &nbsp; &nbsp; 0.3529890 &nbsp; -0.01366293</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10A &nbsp; &nbsp; 0.8712069 &nbsp; &nbsp; 0.2112914 &nbsp; &nbsp; 0.4326566 &nbsp;  0.42375270</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10B &nbsp; &nbsp; 0.9313709 &nbsp; &nbsp; 0.2725534 &nbsp; &nbsp; 0.5726650 &nbsp;  0.11258237</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 110px;"></div><div class="CodeMirror-gutters" style="display: none; height: 140px;"></div></div></div></pre><p>也可以之间对qc结果进行作图查看</p><blockquote><p>中间的黑色实线代表fold change为0的参考线，黑色虚线代表上调或下调基因的参考线即fold change绝对值超过3</p><p>&nbsp;</p><p>蓝色区域代表各样本的scale factor理论上的范围跨度（其确定方式为以各芯片的scale factor均值为中心先两侧各延伸1.5个fold change单位，即跨度刚好为3）</p><p>&nbsp;</p><p>横线可是蓝色或红色（蓝色代表芯片的scale factor是可接受的，红色代表有芯片的scale factor超过了理论范围不具有可比性，下图为蓝色说明各芯片的scale factor比较相似具有可比性）；</p><p>&nbsp;</p><p>actin的3‘/5&#39;的值应该是小于3，GAPDH的3&#39;/5&#39;值小于1，任何超过该范围的标记为红色否则为蓝色；</p><p>&nbsp;</p><p>左边的数值上面的是percent of present（差异超过10%则标记为红色），下面的是average background（差异超过20个单位则标记为红色，但是这个值可能需要调整）</p></blockquote><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">plot</span>(<span class="cm-variable">Dil.qc</span>)</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 25px;"></div><div class="CodeMirror-gutters" style="display: none; height: 55px;"></div></div></div></pre><p>&nbsp;</p><p><img src='assets\1525669670153.png' alt='' referrerPolicy='no-referrer' /></p><p>&nbsp;</p><h3><a name='header-n750' class='md-header-anchor '></a>4.3 RNA降解图使用affy包查看，可参考之前的部分</h3><h3><a name='header-n751' class='md-header-anchor '></a>4.4 依赖统计学模型的质控包<code>affyPLM</code></h3><p><code>affyPLM</code>是一个与RMA模型相似的probe-level model (PLM)从而进行质控</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">library</span>(<span class="cm-string">"affyPLM"</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">pset</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">fitPLM</span>(<span class="cm-variable">Dilution</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 42px;"></div><div class="CodeMirror-gutters" style="display: none; height: 72px;"></div></div></div></pre><p>模型拟合的残差可以用image函数来可视化显示，可以很清楚地判断是否有异常残差值的出现，网址<a href='http://www.plmimagegallery.bmbolstad.com/' target='_blank' class='url'>http://www.plmimagegallery.bmbolstad.com/</a>收集了很多特征性的图片，而Dilution这个数据集基本正常，通常该图片没有瑕疵的情况很少，小的瑕疵一般都可以接受，通过RMA这个稳健的算法基本可以把误差消除掉，而<strong>当污点比较大时，我们需要再看其他的质控数据决定是否应该舍弃该芯片</strong>。</p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span> <span class="cm-operator">=</span> <span class="cm-variable">c</span>(<span class="cm-number">2</span>, <span class="cm-number">2</span>))</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 第三张芯片的原始图片</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">Dilution</span>[, <span class="cm-number">3</span>])</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 第三张芯片的校正后值图片（默认为type=“weight"，值越大颜色越淡）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">type</span> <span class="cm-operator">=</span> <span class="cm-string">"weights"</span>, <span class="cm-variable">which</span> <span class="cm-operator">=</span> <span class="cm-number">3</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 第三张芯片的残差的图片（红色渐变色表示正值越大，白色表示接近0，蓝色渐变色表示负值越大）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">type</span> <span class="cm-operator">=</span> <span class="cm-string">"resids"</span>, <span class="cm-variable">which</span> <span class="cm-operator">=</span> <span class="cm-number">3</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 第三张芯片的残差的图片（红色表示所有正值，白色表示接近0，蓝色表示所有负值）</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">image</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">type</span> <span class="cm-operator">=</span> <span class="cm-string">"sign.resids"</span>, <span class="cm-variable">which</span> <span class="cm-operator">=</span> <span class="cm-number">3</span>)</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 229px;"></div><div class="CodeMirror-gutters" style="display: none; height: 259px;"></div></div></div></pre><p><img src='assets\1525694446519.png' alt='' referrerPolicy='no-referrer' /></p><p>下面这个就是有问题的图片，除原始图片不太清楚外，其他图片都明显显示有人为误差，即一个“环”，就需要看下一步的QC数据是否有较大异常决定去留</p><p><img src='assets\1525694260351.png' alt='' referrerPolicy='no-referrer' /></p><p>还可以用箱式图查看M值（相对于表达量为中等的那个芯片）分布也叫做Relative Log Expression的分布。 如果有芯片的中位数不是0或跨度明显大于其他芯片，则可能存在误差，这个两个图都是一模一样的，不过名称不同而已</p><pre class="md-fences md-end-block" lang="r" style="break-inside: unset;"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">require</span>(<span class="cm-variable">RColorBrewer</span>)</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">cols</span> <span class="cm-operator cm-arrow">&lt;-</span> <span class="cm-variable">brewer.pal</span>(<span class="cm-number">8</span>, <span class="cm-string">"Set1"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">2</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">Mbox</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">main</span><span class="cm-operator">=</span><span class="cm-string">"M value for Dilution dataset"</span>, <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">cols</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">RLE</span>(<span class="cm-variable">pset</span>,</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-variable">main</span><span class="cm-operator">=</span><span class="cm-string">"RLE for Dilution dataset"</span>, </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-variable">ylim</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-operator">-</span><span class="cm-number">0.7</span>, <span class="cm-number">1.1</span>),</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">cols</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">1</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">RLE</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">type</span> <span class="cm-operator">=</span> <span class="cm-string">"stats"</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  20A &nbsp; &nbsp; &nbsp; &nbsp;  20B &nbsp; &nbsp; &nbsp; &nbsp; 10A &nbsp; &nbsp; &nbsp; &nbsp; 10B</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## median 0.002359773 -0.007542337 0.003051789 0.001902185</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## IQR &nbsp;  0.092560253  0.089580148 0.076335304 0.093406833</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="">​</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">RLE</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">type</span> <span class="cm-operator">=</span> <span class="cm-string">"values"</span>)[<span class="cm-number">1</span><span class="cm-operator">:</span><span class="cm-number">4</span>, ]</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  20A &nbsp; &nbsp; &nbsp; &nbsp;  20B &nbsp; &nbsp; &nbsp; &nbsp;  10A &nbsp; &nbsp; &nbsp; &nbsp; 10B</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 100_g_at  0.08993939 -0.074287948  0.026305114 -0.02630511</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 1000_at &nbsp; 0.11551276 -0.007420133  0.007420133 -0.04293690</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 1001_at &nbsp; 0.08565396 -0.071191808 -0.043903380  0.04390338</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 1002_f_at 0.11275165 -0.045783998 -0.013287804  0.01328780</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 365px;"></div><div class="CodeMirror-gutters" style="display: none; height: 395px;"></div></div></div></pre><p>&nbsp;</p><p><img src='assets\1525695542593.png' alt='' referrerPolicy='no-referrer' /></p><p>接下来就是看Normalized Unscaled Standard Error (NUSE)值的分布是否异常，与M值（RLE值）的思想差不多，NUSE是每个基因的标准差与该基因中所有芯片中的标准差中位数的比值，因此芯片具有可比性的条件是其所有基因的标准差几乎相同，即NUSE的中位数为1，且分布大致相当。</p><p><img src='assets\1525696013139.png' alt='' referrerPolicy='no-referrer' /></p><pre class="md-fences md-end-block" lang="r"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 4px; left: 4px;"></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 30px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">2</span>))</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">boxplot</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">main</span><span class="cm-operator">=</span><span class="cm-string">"NUSE for Dilution dataset"</span>, <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">cols</span>)</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">NUSE</span>(<span class="cm-variable">pset</span>, <span class="cm-variable">main</span><span class="cm-operator">=</span><span class="cm-string">"NUSE for Dilution dataset"</span>, </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; <span class="cm-variable">col</span><span class="cm-operator">=</span><span class="cm-variable">cols</span>, </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; <span class="cm-variable">ylim</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">0.88</span>, <span class="cm-number">1.23</span>))</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">par</span>(<span class="cm-variable">mfrow</span><span class="cm-operator">=</span><span class="cm-variable">c</span>(<span class="cm-number">1</span>,<span class="cm-number">1</span>))</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 110px;"></div><div class="CodeMirror-gutters" style="display: none; height: 140px;"></div></div></div></pre><p>&nbsp;</p><p><img src='assets\1525695795649.png' alt='' referrerPolicy='no-referrer' /></p><p>我们再来看一个异常的RLE和NUSE图，其中第二个芯片与image一样都偏离了正常值</p><p><img src='assets\1525696326169.png' alt='' referrerPolicy='no-referrer' /></p><p>&nbsp;</p><p>本文为<a href='http://bioinformatics.mdanderson.org/main/Education:MicroarrayCourse'>MD Anderson芯片分析课程</a>的lecture 7笔记，最后的异常值图片参考子bioconductor书籍<a href='https://www.bioconductor.org/help/publications/books/bioinformatics-and-computational-biology-solutions/'>Bioinformatics and Computational Biology Solutions Using R and Bioconductor</a></p><p>其他参考：<br/>
<a href='http://repository.countway.harvard.edu/xmlui/bitstream/handle/10473/4713/hummel_affy_normalization.pdf' target='_blank' class='url'>http://repository.countway.harvard.edu/xmlui/bitstream/handle/10473/4713/hummel_affy_normalization.pdf</a><br/>
<a href='http://www.math.usu.edu/~jrstevens/stat5570/Bowles.pdf' target='_blank' class='url'>http://www.math.usu.edu/~jrstevens/stat5570/Bowles.pdf</a></p><p>&nbsp;</p><div class='footnotes-area'  ><hr/>
<div class='footnote-line'><span class='md-fn-count'>1</span> <a href='http://arrayanalysis.org/main.html#RD' target='_blank' class='url'>http://arrayanalysis.org/main.html#RD</a><a name='dfref-footnote-1' href='#ref-footnote-1' title='回到文档' class='reversefootnote' >↩</a></div>
<div class='footnote-line'><span class='md-fn-count'>2</span> <a href='https://www.jianshu.com/p/859a7a7d040f' target='_blank' class='url'>https://www.jianshu.com/p/859a7a7d040f</a><a name='dfref-footnote-2' href='#ref-footnote-2' title='回到文档' class='reversefootnote' >↩</a></div></div></div>
</body>
</html>